// 3、以数组intervals表示若干个区间的集合，其中单个区间为intervals[] = [starti, endi].
// 请你所有重叠的区间，并返回一个不重叠的区间数组，该数组需恰好覆盖输入中的所有区间。
// 示例1:
// 输入: intervals = [[1,3], [2,6], [8,10], [15,18]]
// 输出: [[1,6], [8,10], [15,18]]
// 示例2:
// 输入: intervals = [[1,4], [4,5]]
// 输出: [[1,5]]

function fun(params) {

    params.sort((a, b) => {
        return a[0] - b[0]
    })
    let temp = []
    temp.push(params[0])
    for (let i = 1; i < params.length; i++) {
        if (params[i][0] > temp[temp.length - 1][1]) {
            temp.push(params[i])
        } else if (params[i][1] > temp[temp.length - 1][1]) {
            temp[temp.length - 1][1] = params[i][1]
        }
    }
    return temp
}

console.log(fun([[1, 3], [2, 6], [8, 10], [15, 18]]));